import { get, post, put, del } from './api'

/**
 * 用户管理相关API
 */

// 用户登录 - 通过Feign客户端实现负载均衡
export const userLogin = (data) => {
  return post('/feign/users/login', data)
}

// 获取用户列表 - 通过Feign客户端实现负载均衡
export const getUserList = (params) => {
  return get('/feign/users', params)
}

// 根据用户ID获取用户信息 - 通过Feign客户端实现负载均衡
export const getUserById = (userId) => {
  return get(`/feign/users/${userId}`)
}

// 创建用户 - 通过Feign客户端实现负载均衡
export const createUser = (data, createBy) => {
  return post(`/feign/users?createBy=${createBy}`, data)
}

// 更新用户信息 - 通过Feign客户端实现负载均衡
export const updateUser = (userId, data, updateBy) => {
  return put(`/feign/users/${userId}?updateBy=${updateBy}`, data)
}

// 删除用户（逻辑删除） - 通过Feign客户端实现负载均衡
export const deleteUser = (userId, updateBy) => {
  return del(`/feign/users/${userId}?updateBy=${updateBy}`)
}

// 启用/禁用用户 - 通过Feign客户端实现负载均衡
export const updateUserStatus = (userId, status, updateBy) => {
  return put(`/feign/users/${userId}/status?status=${status}&updateBy=${updateBy}`)
}

// 修改密码 - 通过Feign客户端实现负载均衡
export const changePassword = (userId, data, updateBy) => {
  return put(`/feign/users/${userId}/password?updateBy=${updateBy}`, data)
}

// 重置密码（管理员操作） - 通过Feign客户端实现负载均衡
export const resetPassword = (userId, data, updateBy) => {
  return put(`/feign/users/${userId}/reset-password?updateBy=${updateBy}`, data)
}

// 检查权限 - 通过Feign客户端实现负载均衡
export const checkPermission = (userId, operation) => {
  return get(`/feign/users/${userId}/permission?operation=${operation}`)
}

// 获取服务实例信息
export const getServiceInstances = () => {
  return get('/loadbalancer/user-service-instances')
}
